package com.example.project.service;

import com.example.project.common.Result;
import com.example.project.dto.UpdateUserRequest;
import com.example.project.dto.UpdatePasswordRequest;
import com.example.project.dto.UpdateProfileRequest;

public interface AdminService {
    // 获取普通用户列表（roleId=2）
    Result<?> getNormalUserList(Integer page, Integer pageSize, String query, Integer status, Long adminId);
    
    // 获取商家列表（roleId=3）
    Result<?> getMerchantList(Integer page, Integer pageSize, String query, Integer status, Long adminId);
    
    Result<?> getUserDetail(Long userId, Long adminId);
    Result<?> updateUser(Long userId, UpdateUserRequest request, Long adminId);
    Result<?> deleteUser(Long userId, Long adminId);
    Result<?> updateUserStatus(Long userId, Integer status, Long adminId);
    Result<?> updatePassword(Long userId, UpdatePasswordRequest request);
    Result<?> getProfile(Long userId);
    Result<?> updateProfile(Long userId, UpdateProfileRequest request);
    
    // 添加更新用户角色的方法
    Result<?> updateUserRole(Long userId, Long roleId, Long adminId);
} 